/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;


import entidades.Propuesta;
import entidades.Solicitudes;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import entidades.Usuario;


/**
 *
 * @author Pablo
 */
@Named(value = "propuestaControl")
@SessionScoped
public class PropuestaController extends ParentController implements Serializable {
    
    private Integer idPropuesta;
    private Propuesta propuesta;
    private Boolean solicitada;
    private Boolean aceptada;
    private Usuario usuario;
    private String mensajeSolicitud;
    
 //   @EJB
 //   private PropuestaServiceLocal propuestaService;
    
    /**
     * Creates a new instance of PropuestaController
     */
    public PropuestaController() {
        solicitada = null;
        aceptada = null;
    }

    public Integer getIdPropuesta() {
        return idPropuesta;
    }

    public Propuesta getPropuesta() {
        return propuesta;
    }

    public void setPropuesta(Propuesta propuesta) {
        this.propuesta = propuesta;
    }

    public void setIdPropuesta(Integer idPropuesta) {
        this.idPropuesta = idPropuesta;
    }

    public Boolean getAceptada() {
        return aceptada;
    }

    public void setAceptada(Boolean aceptada) {
        this.aceptada = aceptada;
    }

    public Boolean getSolicitada() {
        return solicitada;
    }

    public void setSolicitada(Boolean solicitada) {
        this.solicitada = solicitada;
    }

    public String getMensajeSolicitud() {
        return mensajeSolicitud;
    }

    public void setMensajeSolicitud(String mensajeSolicitud) {
        this.mensajeSolicitud = mensajeSolicitud;
    }
    
    public void cargaPropuesta(Integer idProp){
        idPropuesta = idProp;
        propuesta = propuestaService.getPropuesta(idPropuesta);
        
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
        usuario = (Usuario) session.getAttribute("usuario");
        Solicitudes solicitud = propuestaService.getSolicitudByNick(usuario, propuesta);
        if (solicitud == null)
            solicitada = false;
        else{
            solicitada = true;
            aceptada = solicitud.getAceptada();        
        }
    }
    
    public boolean showBtInscr(){
        if (solicitada == false || (solicitada == true && aceptada != null && aceptada == false))
            return true;
        else
            return false;
    }
    
    public boolean showMsgSolEnv(){
        if (solicitada == true && aceptada == null)
            return true;
        else
            return false;
    }
    
    public boolean showMenuAport(){
        if (solicitada == true && aceptada != null && aceptada == true)
            return true;
        else
            return false;
    }
    
    public void sendRequest(){        
        propuestaService.newSolicitud(usuario, propuesta, mensajeSolicitud);
        solicitada = true;
        aceptada = null;
    }
    
    public String getPlanEcoNombre (){
        return propuestaService.getPlanEcoTrad(propuesta.getPlanEco(), "ES").getNombre();
    }
    
    public String getPlanEcoDescrip (){
        return propuestaService.getPlanEcoTrad(propuesta.getPlanEco(), "ES").getDescripcion();
    }
}
